package com.youkeyi.ddy.cloud.common.api.basic.pub.ad;

import com.youkeyi.ddy.cloud.common.api.basic.pub.ad.dto.PublicAdAreaListCloudDto;
import com.youkeyi.ddy.cloud.common.api.basic.pub.ad.dto.PublicAdCityListCloudDto;
import com.youkeyi.ddy.cloud.common.api.basic.pub.ad.dto.PublicAdProvinceListCloudDto;
import com.youkeyi.ddy.cloud.common.api.basic.pub.ad.param.PublicAdAreaQueryCloudParam;
import com.youkeyi.ddy.cloud.common.api.basic.pub.ad.param.PublicAdCityQueryCloudParam;
import com.youkeyi.ddy.cloud.common.api.basic.pub.ad.param.PublicAdProvinceQueryCloudParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * PublicAdCloudService
 *
 * @Corpor liuxiawang
 * @Date 2024/2/19 2:31 PM
 * @Location shenzhen.china
 */
@RestController
@FeignClient(value = "YOUKEYI-DDY-CLOUD-BASIC-PUBLIC", fallback = PublicAdCloudServiceFallback.class)
@RequestMapping("/public/ad")
public interface PublicAdCloudService {

    /**
     * 查询中国省份.
     *
     * @param param the param
     * @return the ad province list cloud dto
     */
    @PostMapping(value = "/province/query")
    public abstract PublicAdProvinceListCloudDto queryProvince(@RequestBody PublicAdProvinceQueryCloudParam param);

    /**
     * 查询中国城市.
     *
     * @param param the param
     * @return the ad city list cloud dto
     */
    @PostMapping(value = "/city/query")
    public abstract PublicAdCityListCloudDto queryCity(@RequestBody PublicAdCityQueryCloudParam param);

    /**
     * 查询中国城市区域.
     *
     * @param param the param
     * @return the ad city list cloud dto
     */
    @PostMapping(value = "/area/query")
    public abstract PublicAdAreaListCloudDto queryArea(@RequestBody PublicAdAreaQueryCloudParam param);

}
